iT邦幫忙

2026 iThome 鐵人賽

DAY 7
0
AI Security

30 天認識 AI Security:從 LLM 攻擊到 AI 防禦系列 第 7

Day 7|Threat Modeling:如何分析 AI 系統可能遭受哪些攻擊?

  • 分享至 

  • xImage
  •  

上一篇介紹了 Attack Surface,找出了 AI 系統中可能遭到攻擊的位置,但知道「哪裡可能被攻擊」還不夠,實際開發一個系統時,我們還需要繼續思考誰可能攻擊這個系統?他想取得什麼?會用什麼方式攻擊?如果真的成功會造成多大的影響?這就是 Threat Modeling(威脅建模)想解決的問題。


什麼是 Threat Modeling?

Threat Modeling 是一種用來識別、分析威脅,並思考如何降低風險的方法,而且它最好不是等系統開發完成才進行,而是在設計、開發過程中持續更新。
OWASP 提供了一個很適合入門的 Four Question Framework:

  • What are we working on?
  • What can go wrong?
  • What are we going to do about it?
  • Did we do a good job?

實際做一次 Threat Modeling

假設今天公司建立了一個內部 AI Assistant。

員工可以問它:「公司的請假規定是什麼?」「幫我找今年的專案文件。」

AI 會搜尋公司的內部知識庫,再根據找到的資料回答問題,我們就拿這個系統來做一次簡單的 Threat Modeling。

Step 1:我們現在分析的是什麼系統?

這時候可以開始整理:

系統有哪些元件?
資料會流向哪裡?
系統會接觸哪些重要資料?
哪些地方存在不同的權限或信任關係?

例如這套系統中可能存在一般員工資料、內部專案文件或主管機密文件,不同資料的敏感程度與存取權限都不一樣,實際進行 Threat Modeling 時,通常也會使用 Data Flow Diagram(DFD) 等方式,把系統元件與資料流畫出來,知道自己的系統怎麼運作之後才可以分析問題。

Step 2:可能出什麼問題?

例如可能發現一般員工可能透過 AI Assistant 取得原本沒有權限查看的主管文件,這時候就可以進一步建立威脅情境:

一般員工 → AI Assistant → 搜尋內部資料 → 取得未授權文件

實際 Threat Modeling 並不只有一種尋找威脅的方法,所以也可以繼續找其他可能發生的問題,像是可以使用 STRIDE、Attack Trees、Kill Chains 等方法協助分析。

Step 3:我們要怎麼處理這個問題?

用剛剛的例子來說,那我們可能需要在資料檢索時驗證使用者權限、依照部門或角色限制資料存取、記錄敏感文件的存取行為,實際上還可以根據風險選擇 Mitigate(降低風險)、Eliminate(消除風險)、Accept(接受風險)、Transfer(轉移風險),所以更重要的是我們怎麼處理這個風險。

Step 4:我們真的把問題處理好了嗎?

例如剛剛加入了資料權限驗證,就需要重新確認:

一般員工現在真的無法透過 AI Assistant 取得主管文件嗎?

除此之外,Threat Model 也不是做完一次就永遠不用再碰,假設之後 AI Assistant 新增:

「可以直接寄 Email」

這代表系統的能力與 Attack Surface 都改變了,原本的 Threat Model 就應該重新檢查,因此 Threat Modeling 比較像是一個持續更新的過程,而不是開發初期做完一份文件就結束。


把四個問題放在一起

最後把剛剛的案例整理一下:

What are we working on? 可以搜尋公司內部文件的 AI Assistant
What can go wrong? 員工可能取得沒有權限查看的文件
What are we going to do about it? 加入資料存取權限與紀錄機制
Did we do a good job? 測試權限是否真的能阻止未授權存取

這就是一次非常簡化的 Threat Modeling,真正的系統當然會比這複雜很多,但核心思考方式其實就是:

了解系統 → 找出威脅 → 處理威脅 → 驗證結果


Threat Modeling 不是 AI 才有的東西

Threat Modeling 本身並不是 AI 出現之後才有的技術,傳統 Web Application、Cloud、Network 等系統本來就會使用 Threat Modeling,只是當 AI 加入系統之後我們分析的對象又增加了,所以 AI Threat Modeling 並不是重新發明一套資安方法,而是把原本的 Threat Modeling 方法套用到新的 AI 系統架構與威脅上。


這篇我們第一次實際站在攻擊者的角度,對一個 AI Application 做簡單的 Threat Modeling,先找出要保護的東西,再思考誰可能攻擊、攻擊者想做什麼、可能造成什麼影響,最後決定哪些風險應該優先處理。

到這裡,我們第一週其實了解了從「AI 是怎麼運作的」,一路走到了「如何開始分析一個 AI 系統的安全問題」,
而從下一篇開始,就要進入第二週的 LLM 攻擊與漏洞,第一個要深入研究的就是前面已經出現很多次的Prompt Injection,也盡量會帶入一些真實案件去慢慢研究。


上一篇
Day 6|Attack Surface:AI 系統的攻擊面有哪些?
下一篇
Day 8|Prompt Injection:AI 為什麼會被一句話影響?
系列文
30 天認識 AI Security:從 LLM 攻擊到 AI 防禦24
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言